<template>
  <div class="base-container" id="main">
    <t-space direction="vertical">
      <t-form labelAlign="top" ref="form" :data="formData" :rules="rules" class="step-form table-form"
              labelWidth="140px">
        <t-row>
          <t-col :span="2" class="title"><span class="require">*</span>年度</t-col>
          <t-col :span="2">
            <t-form-item label="年度" name="year">
              <t-select clearable v-model="formData.year" :options="yearOption" />
            </t-form-item>
          </t-col>
        </t-row>
      </t-form>
      <t-row>
        <t-col :span="1"></t-col>
        <t-col :span="10">
          <t-table
            rowKey="index"
            :data="data"
            :columns="columns"
            stripe
            table-layout="auto"
            size="small"
            hover
            tableLayout="fixed"
            bordered
            cellEmptyContent="-"
          >
            <template #name="{row}">
              <p :class="row.class">{{ row.name }}</p>
            </template>
            <template #num="{row}">
              <!-- :disabled="preData.inputDisabled.includes(row.num)" -->
              <t-input-number v-if="row.num !== ''" min="0" size="large" v-model="formData[`${row.num}`]"></t-input-number>
            </template>
            <template #footerSummary>
              <div class="t-table__row-filter-inner">
                说明：1. 主要平衡关系：KC112＜KC111；KC122＜KC121；KC132＜KC131
                <br/>2. 科普场馆必须是以上列举的三类。青少年科技馆站必须专门用于开展面向青少年的科普宣传教育。
                <br/>3. 建筑面积（KC111、KC121、KC131）：建筑面积在500平米以下的，出租用于他用（商业经营等）或已丧失科普功能的，均不在此项统计范围内。
                <br/>4. 展厅面积（KC112、KC122、KC132）：指用于各类展览的实际使用面积，不含公共设施、办公室和用于其他用途的使用面积。
                <br/>5. 当年参观人次（KC113、KC123、KC133）：如果有参观票据，以票根上的年度内数字为准。如果没有参观票据，则以馆内统计的人数为准。馆内没有过任何统计，则填报零。不可随意填报。
                <br/>6. 场馆数量不能出现大于1的情况，每个场馆要单独填报。
                <br/>7. 场馆常设展品的件套数，以完整呈现一个展出物品为一件套。
              </div>
            </template>
          </t-table>
        </t-col>
        <t-col :span="1"></t-col>
      </t-row>
      <t-row style="margin-top: 20px;text-align: center">
        <t-col :span="12">
          <t-space :size="10">
            <t-button v-if="!isUpdate" theme="primary" :loading="applyLoading" @click="onSubmit(1)">{{
                applyLoading ? '提交中...' : '暂存'
              }}
            </t-button>
            <t-button v-if="!isUpdate" theme="primary" :loading="applyLoading" @click="onSubmit(2)">{{
                applyLoading ? '提交中...' : '提交'
              }}
            </t-button>
            <t-button v-if="isUpdate" theme="default" :loading="applyLoading" @click="onSubmit(3)">{{
                '取消'
              }}
            </t-button>
            <t-button v-if="isUpdate" theme="primary" :loading="applyLoading" @click="onSubmit(4)">{{
                applyLoading ? '修改中...' : '确认'
              }}
            </t-button>
          </t-space>
        </t-col>
      </t-row>
    </t-space>
  </div>
</template>

<script>
import { VITE_FILE_DOMAIN } from '@/api/upload'
export default {
  name: "site-add-edit",
  dicts: [],
  components: {
  },
  data() {
    return {
      yearOption: [],
      file_domain: VITE_FILE_DOMAIN,
      deptMenuOptions: [],
      columns: [
        // { colKey: 'index', title: '序号', width: '100' },
        { colKey: 'name', title: '指标名称', },
        { colKey: 'code', title: '代码', align: "center" },
        { colKey: 'jldw', title: '计量单位', align: "center"},
        { colKey: 'num', title: '数量', align: "center"},
      ],
      rules: {
        projectName: [
          {
            required: true,
            message: "项目名称不能为空",
          }
        ],
      },
      data: [],
      preData: {
        name: [
          '一、科普场馆',
          '  1.科技馆',
          '    建筑面积',
          '    展厅面积',
          '    当年参观人次',
          '    常设展品',
          '    门票收入',
          '  2.科学技术类博物馆',
          '    建筑面积',
          '    展厅面积',
          '    当年参观人次',
          '    常设展品',
          '    门票收入',
          '  3.青少年科技馆站',
          '    建筑面积',
          '    展厅面积',
          '    当年参观人次',
          '    常设展品',
          '二、非场馆类科普场地',
          '  1.个数',
          '  2.科普展厅面积',
          '  3.当年参观人次',
          '三、公共场所科普宣传设施',
          '  1.城市社区科普（技）活动场所',
          '    当年服务人次',
          '  2.农村科普（技）活动场所',
          '    当年服务人次',
          '  3.流动科普宣传设施',
          '    科普宣传专用车',
          '    当年服务人次',
          '    流动科技馆站',
          '    当年服务人次',
          '  4.科普宣传专栏',
          '    当年内容更新次数',
          '四、科普基地',
          '  1.国家级科普基地',
          '  2.省级科普基地',
        ],
        code:[
          '—',
          '个',
          '平方米',
          '平方米',
          '人次',
          '件套',
          '万元',
          '个',
          '平方米',
          '平方米',
          '人次',
          '件套',
          '万元',
          '个',
          '平方米',
          '平方米',
          '人次',
          '件套',
          '—',
          '个',
          '平方米',
          '人次',
          '—',
          '个',
          '人次',
          '个',
          '人次',
          '—',
          '辆',
          '人次',
          '个',
          '人次',
          '个',
          '次',
          '—',
          '个',
          '个',
        ],
        jldw: [
          '—',
          'KC110',
          'KC111',
          'KC112',
          'KC113',
          'KC114',
          'KC116',
          'KC120',
          'KC121',
          'KC122',
          'KC123',
          'KC124',
          'KC126',
          'KC130',
          'KC131',
          'KC132',
          'KC133',
          'KC134',
          '—',
          'KC210',
          'KC220',
          'KC230',
          '—',
          'KC310',
          'KC311',
          'KC320',
          'KC321',
          '—',
          'KC330',
          'KC331',
          'KC332',
          'KC333',
          'KC340',
          'KC341',
          '—',
          'KC410',
          'KC420',
        ],
        num: [
          '',
          'kjgsl',
          'kjgjzmj',
          'kjgztmj',
          'kjgcgrc',
          'kjgcszp',
          'kjgmpsr',
          'bwgsl',
          'bwgjzmj',
          'bwgztmj',
          'bwgcgrc',
          'bwgcszp',
          'bwgmpsr',
          'kjzsl',
          'kjzjzmj',
          'kjzztmj',
          'kjzcgrc',
          'kjzcszp',
          '',
          'fcgkpcd',
          'fcgjjzmj',
          'fcgcgrc',
          '',
          'cssqkphdcs',
          'cssqfwrc',
          'nckphdcs',
          'ncfwrc',
          '',
          'xccl',
          'xcfwrc',
          'ldkjg',
          'ldfwrc',
          'kpxcl',
          'gxcs',
          '',
          'gjjkpjd',
          'sjkpjd'
        ],
        class: [
          '',
          'indent2',
          'indent4',
          'indent4',
          'indent4',
          'indent4',
          'indent4',
          'indent2',
          'indent4',
          'indent4',
          'indent4',
          'indent4',
          'indent4',
          'indent2',
          'indent4',
          'indent4',
          'indent4',
          'indent4',
          '',
          'indent2',
          'indent2',
          'indent2',
          '',
          'indent2',
          'indent4',
          'indent2',
          'indent4',
          'indent2',
          'indent4',
          'indent4',
          'indent4',
          'indent4',
          'indent2',
          'indent4',
          '',
          'indent2',
          'indent2'
        ],
        inputDisabled: []
      },
      applyLoading: false,
      formData: {
        localId: '',
        year: new Date().getFullYear(),
        kjgsl: 0,
        kjgjzmj: 0,
        kjgztmj: 0,
        kjgcgrc: 0,
        kjgcszp: 0,
        kjgmpsr: 0,
        bwgsl: 0,
        bwgjzmj: 0,
        bwgztmj: 0,
        bwgcgrc: 0,
        bwgcszp: 0,
        bwgmpsr: 0,
        kjzsl: 0,
        kjzjzmj: 0,
        kjzztmj: 0,
        kjzcgrc: 0,
        kjzcszp: 0,
        fcgkpcd: 0,
        fcgjjzmj: 0,
        fcgcgrc: 0,
        cssqkphdcs: 0,
        cssqfwrc: 0,
        nckphdcs: 0,
        ncfwrc: 0,
        xccl: 0,
        xcfwrc: 0,
        ldkjg: 0,
        ldfwrc: 0,
        kpxcl: 0,
        gxcs: 0,
        gjjkpjd: 0,
        sjkpjd: 0,
      },
      isUpdate: false,
    }
  },
  created() {
    for (let i = 2030; i >= 2000; i--) {
      this.yearOption.push({key: i, label: i.toString(), value: i.toString()})
    }
    const taskId = this.$route.params && this.$route.params.taskId;
    this.isUpdate = this.$route.query.isUpdate === 'true'
    Object.assign(this.formData, this.$route.query.currentRow)
    if (!taskId) {
      this.$message.error("缺少id");
      this.close();
      return false;
    }
    this.formData.localId = taskId

    for (let i = 0; i < this.preData.name.length; i++) {
      this.data.push({
        index: i + 1,
        name: this.preData.name[i],
        code: this.preData.code[i],
        jldw: this.preData.jldw[i],
        num: this.preData.num[i],
        class: this.preData.class[i]
      })
    }
  },
  methods: {
    onSubmit(type) {
      if (!this.formData.year) {
        this.$message.error('请选择年份！');
        return
      }
      if (type === 1) {
        this.$api.kpzh.site.add(this.formData).then(res => {
          this.$message.success('暂存成功！');
          this.$tab.closeOpenPage({path: this.$route.meta.activeMenu || "/kpzh/site/site-my"});
        })
      } else if (type === 2) {
        this.$api.kpzh.site.submit(this.formData).then(res => {
          this.$message.success('提交成功！');
          this.$tab.closeOpenPage({path: this.$route.meta.activeMenu || "/kpzh/site/site-my"});
        })
      } else if (type === 3) {
        this.$tab.closeOpenPage({path: this.$route.meta.activeMenu || "/kpzh/site/site-my"});
      } else if (type === 4) {
        this.$api.kpzh.site.update(this.formData).then(res => {
          this.$message.success('修改成功！');
          this.$tab.closeOpenPage({path: this.$route.meta.activeMenu || "/kpzh/site/site-my"});
        })
      } else {
        this.$message.error('type错误！');
      }
    },
    close() {
      this.$tab.closeOpenPage({path: "/kpzh/site/site-my"});
    }
  }
}
</script>

<style lang="less" scoped>
/deep/ .t-table__empty {
  min-height: initial;
}

</style>
